Fuzzy backward reasoning system and expert system utilizing the same

ABSTRACT

A fuzzy backward reasoning system which includes a memory section for storing a causality table having n×m elements, a first generating section for reading out the causality table from the memory section and generating basic and auxiliary matrix tables and an input effect matrix table, a second generating section for generating a minimum matrix table and a third generating section for generating from the basic and auxiliary tables a check matrix table. The invention further includes a modifying section for modifying the checking matrix table to selectively reset each flag therein in accordance with corresponding elements of the basic and minimum matrix tables and a fourth generating section for generating from elements having the flags set of the checking matrix table and the basic and minimum matrix tables a cause matrix table, wherein cause matrix table element interval data represents a certainty of a corresponding cause.

This application is a division of application Ser. No. 07/666,923, filed Mar. 11, 1991.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a fuzzy backward reasoning system for inferring causes from results and an expert system utilizing the same. More specifically, the present invention is concerned with a reasoning system capable of making inference on a real time basis as well as a real-time expert system utilizing the same.

2. Description of the Related Art

As a method of inferring causes from results on the basis of imprecise knowledge of a sympton, (i.e., result and a relation between each cause and each result, as with the case of a medical diagnosis or a fault diagnosis, there is known a fuzzy backward reasoning method in which solution of an inverse problem of fuzzy correspondence is determined. Although many proposals have been made in conjunction with this method, there can be mentioned among them the proposal disclosed in an article by Tukamoto, Y. and Tashiro, T. entitled "Method of Solution to Fuzzy Inverse Problem" (Transactions of The Society of Instrument and Control Engineers, Vol. 15, No. 1, pp. 21-25, 1979) as the one in which adaptability to practical problems is taken into consideration. Before entering into details of the prevent invention, the fuzzy theory which is handled in the present application will briefly be described together with the fuzzy correspondence inverse problem and a method of solution thereof disclosed in the article cited above.

A set of those elements x of a universal set X which are fuzzy or uncertain as to whether belong to the set is referred to as a fuzzy set A. Such a fuzzy set A can be defined by giving the elements x degrees or extents to which the elements x are contained in the set A. A function capable of giving or determining the degree mentioned above is referred to as the membership function and represented by μ_(A) (x). This function μ_(A) (x) has a property defined as follows:

    0≦μ.sub.A (x)≦1

For the universal set X, fuzzy sets A and B, a membership function μ_(A) (x) (where x εX), there may be defined operations which are mentioned below:

Universal set: μ_(x) (x)=1 _(x) ε X

Empty set: μ.sub.φ (x)=0

Complementary set A: μ_(A) (x)=1-μ_(A) (x)

Sum set: μ_(A) U_(B) =min [μ_(A) (x), μ_(B) (x)]

Product Set: μ_(A)∩B =min [μ_(A) (x), μ_(B) (x)]

Equal relationship: A=B←μ_(A) (x)=μ_(B) (x)

Containing relatinship: A B←μ_(A) (x)=μ_(B) (x)

Law of double negation: A=A ##EQU1##

It should however be noted that neither law of the excluded middle nor law of the contradiction which can be applied to an ordinary set can be applied to the fuzzy set. In other words,

    A∪A≠X A∩A≠φ

In the fuzzy set A,

    Aα≃{x|μ.sub.A (x)>α}; αε[0, 1]

    Aα≃{x|μ.sub.A (x)≧α}; αε[0, 1]

are referred to as strong α-cut and weak α-cut, respectively, which are graphically represented, in FIGS. 1A and 1B of the accompanying drawings, respectively.

Truth values imprecisely represented by not a numerical interval form as in the classical logic and the many-valued logic but a linguistic form such as "true", "very true", etc. are referred to as the linguistic truth values or LTV for short. These linguistic truth values (LVTs) may be represented by a fuzzy set on a truth value space [0, 1].

Now, let's consider a method of giving a numerical interval to the linguistic truth value or LTV and assume, by way of example, that a numerical interval be given to the LTV of "true". To this end, a membership function is given to the LTV "true". The membership function may be selected arbitrarily. It is assumed that the membership function is of a linear line form, as illustrated in FIG. 2 of the accompanying drawings. By cutting the membership function at α, i.e., the α-cut, the numerical interval for the LTV of "true" is determined. By way of example, assuming that α=0.8, then a numerical interval [0.8, 1] can be determined for the LTV of "true" by the α-cut, as shown in FIG. 2.

Next, the fuzzy correspondence inverse problem will be considered.

Let's represent sets which contain two different types of events, e.g., items of cause and items of sympton, respectively, as follows:

    X={x.sub.i |i=1, . . . , m{

    Y={y.sub.j |j=1, . . . , n}

In that case, the fuzzy sets A and B for which the abovementioned sets are the universal sets, respectively, can be written as follows: ##EQU2## where a_(i) and b_(j) represent the degrees to which elements x_(i) and y_(j) are contained in the fuzzy sets A and B, respectively.

The fuzzy sets A and B can conveniently be represented in terms of vectors of membership grades as follows:

a=(a₁, . . . , a_(m))

b=(b₁, . . . , b_(n))

When X represents a universal set of prerequisite conditions, e.g., cause items and Y represents a universal set of conclusions or results, e.g., sympton items, there may be conceived a diagnostic system for deriving the conclusions (results) from the prerequisite conditions. There exist causalities between the individual items x_(i) of the prerequisite conditions and the individual items y_(i) of the conclusions (results).

Thus, a fuzzy set C on the XY-space can be written as follows: ##EQU3## where γ_(ij) represents the degrees to which the element (x_(i), y_(j)) belong to the fuzzy set C. Let's express a matrix with m×n elements containing γ_(ij) as an i-th row and j-th column element as follows:

    R={γ.sub.ij }

When a fuzzy composition of the fuzzy set A and the fuzzy set C results in a fuzzy set B, this may be written as

A∘C=B

wherein an operational rule referred to as a fuzzy relational equation and given by

a∘R=b

can be applied, where a_(i), b_(j) γ_(ij) ε[0, 1] and "602 " represents a max-min composition, i.e. _(i) V {a_(i) ∩γ_(ij) }=b_(j), where ∪ and ∩ represent "max" and "min", respectively.

Thus, the inverse problem of the fuzzy relational equation can be said to be a problem of "determining all elements of a fuzzy set a which satisfy the relational equation of a∘R=b, when a fuzzy relation R is given together with the individual elements of a fuzzy set b in terms of numerical values, respectively, of the interval [0, 1]".

In this conjunction, it is noted that the fuzzy relation can be determined by the relation of the fuzzy set B to the fuzzy set A. Thus, the fuzzy relation can be represented by mapping as follows:

    R:P(X)→P(Y)

On the other hand, fuzzy correspondence is determined by correspondence of the fuzzy set B of a fuzzy set to the fuzzy set A and may thus be expressed by mapping:

    γ: P(X)→P(P(Y))

where P(X) represents a family of all the fuzzy sets on X.

Further, the fuzzy set B can be written as follows:

    B={(y.sub.j, b.sub.j)}

where b_(j) represent the degrees by which the element y_(j) belong to the fuzzy set B and can be given by a fuzzy set in the interval [0, 1]. An n-dimensional vector containing b_(j) as the j-th element is written as follows:

    b=(b.sub.1, . . . , b.sub.n) [0, 1].sup.n

Thus, when the fuzzy set C on the XY-space is given, then one fuzzy correspondence Γ is determined. In this conjunction, the fuzzy set C may be written as follows:

    C={(x.sub.i, y.sub.j), γ.sub.ij }

where γ_(ij) represent degrees by which the element (x_(i), y_(j)) belong to the fuzzy set C and which can be represented by a fuzzy set in [0, 1]. Let's express a matrix with m×n elements containing an element γ_(ij) as the i-th row and j-th column element as follows:

    R={γ.sub.ij } [0, 1].sup.mxn

Thus, it is safe to say that the inverse problem of fuzzy correspondence can be reduced to a problem of "determining an inverse mapping Γ⁻¹ (b) of fuzzy correspondence when b [0, 1]^(n) and R [0, 1]^(mxn) are given as the grades of symptons and the causalities between the causes and the symptons, respectively," where b is a vector representation of the fuzzy set B and R is a matrix representation of the fuzzy set C.

A method of solution of the fuzzy a correspondence inverse problem is proposed in Tsukamoto et al's article recited hereinbefore. According to the proposal, a α-cut set of the fuzzy correspondence inverse mapping is determined by solving the inverse problem of a∘R=b, where

    a={a| R,  b; RεR, bεb, a∘R=b}

In the above exprssion, R={γ_(ij) } and b=(b₁, . . . , b_(n)) represent a matrix and a vector containing as respective elements the sets of intervals of real numbers in [0, 1] corresponding to Rα and bα (α-cut sets of R and b, respectively). Further, bεb and RεR represent _(j), b_(j) ε b_(j) and _(i), _(j), γ_(ij) ε γ_(ij), respectively.

In the following table, there are summarized comparisons between the inverse problem of fuzzy relational equation and tmhe inverse problem of fuzzy correspondence.

    ______________________________________                                                   Fuzzy Relation                                                                            Fuzzy Correspondence                                                Inverse Problem                                                                           Inverse Problem                                           ______________________________________                                         Certainty of                                                                               real values in                                                                              fuzzy set R in                                        Causality between                                                                          [0, 1]       [0, 1]                                                Cause and Symptom                                                              Grade of Symptom                                                                           real values in                                                                              fuzzy set b in                                                    [0, 1]       [0, 1]                                                ______________________________________                                          A model utilizing the fuzzy correspondence is more flexible when compared      with a model utilizing the fuzzy relational equation.

Now, let's consider a method of solving the inverse problem of fuzzy correspondence.

First, ε-composition and ε-composition are defined.

For two interval value sets [a, b], [c, d] [0, 1], ##EQU4## where φ represents the empty set.

FIG. 3 is a flow chart for illustrating a method of solving an inverse problem of fuzzy correspondence proposed by Tsukamoto et al in their article recited hereinbefore.

The solution algorithm proposed by Tsukamoto et al will now be described.

At a step 1, matrixes U={u_(ij) } and V={v_(ij) } each having (m×n) elements are determined, where

    u.sub.ij =γ.sub.ij εb.sub.j and

    v.sub.ij =γ.sub.i εb.sub.j

When it is determined at a step 2 that _(j), _(i), u_(ij) =φ, decision is made that no solutionexists, and the processing comes to an end.

At a step 3, a matrixes W^(k) ={w^(k) ij} having (m×n) elements are determined, and individual elements of each matrix W^(k) are givenfor every column j, as follows: ##EQU5## where _(li) represents selection of only one from i's satisfying u_(ij) ≠φ. Accordingly, the matrixes W^(k) exist for the number of combinations determined in accordance with the selection of i. Such combinations is indexed by the symbol "k".

At a step 4, a solution a^(k) is determined, where

    a.sup.k =(a.sup.k.sub.1, a.sup.k.sub.2 , . . . , a.sup.k.sub.m) ##EQU6##

At a step 5, it is checked whether k is "0". If the decision results in "Y" indicating "true", decision is made that no solution exists, and then the processing comes to an end.

At a step 6, solution a is determined in accordance with ##EQU7##

    K={k| .sub.i ; a.sup.k.sub.i ≠φ}

As will be appreciated from the foregoing, the hitherto known method of solving the inverse problem of fuzzy correspondence is disadvantageous in that the amount of theoretical computation increases in proportion to m^(m+1) x n because of necessity of preparing an enormous number of W^(K) matrices as the number of the causes (m) and the symptons (n) increases, thereby requiring lots of time for the computation. For this reason, the problem solving method of the prior art suffers from a difficulty that the method is difficult to be applied to an inference engine of a real time expert system.

SUMMARY OF THE INVENTION

In view of the state of the art described above, it is an object of the present invention to provide an inference or reasoning method of obtaining a solution for an inverse problem of fuzzy correspondence at a very high speed and a reasoning system for the same.

Another object of the invention is to provide an expert system which can control a target apparatus or system on a real time basis in accordance with the solution obtained by utilizing the abovementioned method.

In order to achieve the above objects, the fuzzy backward reasoning system includes:

memory means for storing a causality table having m×n elements, each of which indicates a membership grade of a corresponding cause to a corresponding effect and is represented by interval data within a predetermined numerical data range;

first generating means for reading out the causality table from the memory means and generating basic and auxiliary matrix tables each having m x n elements from the causality table and an input effect matrix table having n elements which correspond to n effects and are respectively represented by interval data within the predetermined numerical data range;

second generating means for generating a minimum matrix table having m elements, each of which represent a least upper bound value of a corresponding row of the basic matrix table;

third generating means for generating from the basic and auxiliary matrix tables a check matrix table having m×n elements, each of which has a flag set when representing a possibility of influence to a certainty of a corresponding cause;

modifying means for modifying the checking matrix table to selectively reset each flag in accordance with corresponding elements of the basic and minimum matrix tables; and

fourth generating means for generating from elements having the flags set of the checking matrix table and the basic and minimum matrix tables a cause matrix table having m elements, each of which is represented by interval data within the predetermined numerical data range, the because matrix table element interval data representing a certainty of a corresponding cause.

In accordance with the reasoning or inference scheme or concept of the present invention described above, there is made, available the method of solving the inverse problem of fuzzy correspondence with a theoretical calculation amount proportional to m×n, whereby operations can be executed with a speed which is several ten thousand times as fast as the solution methods, known heretofore. Besides, according to the expert system in which the fuzzy logics (i.e. fuzzy modus ponens and fuzzy modus tollens) and the problem solving method are employed in combination, not only the inference or reasoning can be executed without need for any especial hardware even for the case where the numbers of causes and symptons are very enormous, but also the results of diagnosis can be obtained even when a plurality of failures (diseases) occur simultaneously, which in turn means that the real time control now becomes practically applicable to various systems.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A, 1B, and 2 are conceptual charts for illustrating the concept of α-cut method adopted for a membership function;

FIG. 3 is a flow chart for illustrating a solution method of an inverse problem of fuzzy correspondence according to the prior art;

FIG. 4 is a block diagram showing a structure of a fuzzy expert system according to an embodiment of the present invention;

FIG. 5 is a flow chart for illustrating a diagnostic operation of the expert system shown in FIG. 4;

FIG. 6 is a flow chart for illustrating a method for solution of an inverse problem of fuzzy correspondence according to an embodiment of the invention;

FIGS. 7 and 8 are flow charts for illustrating inference or reasonin,g operations according to a second embodiment of the invention;

FIG. 9 is a chart for illustrating examples of the causalities between causes and results;

FIGS. 10A and B are graphic chart showing examples of membership functions for linguistic truth values and illustrating translation of the linguistic truth values into numerical intervals by a α-cut method;

FIGS. 11A to 11E are diagrams for illustrating the state of a matrix C;

FIG. 12 is a chart illustrating an example of membership function employed in an experiment for verifying the effects attainable with the present invention;

FIG. 13 is a chart for illustrating the times required for the inventive inferences or reasonings in comparison with those of the prior art; and

FIG. 14 is a diagram for illustrating an expert system according to a second exemplary embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Now, the expert system according to the present invention will be described in conjunction with exemplary or preferred embodiments thereof by reference to the drawings.

In the expert system according to the invention, there is employed a backward fuzzy reasoning method in which an inverse problem of fuzzy correspondence is so solved that, when the number of causes is m and the number of results is n, whether or not a solution exists is checked to determine a computation equation for the solution, by using a checking matrix having m×n elements. Accordingly, the theoretical operation amount is given by O(mn). More specifically, at the steps of the reasoning or inference method, solutions, i.e., the m causes inferred through the fuzzy backward reasoning as an inverse problem of the fuzzy correspondence on the basis of the results and the causalities therebetween.

Step 1

Assume that a fuzzy cause set containing m elements indicative of the causes, respectively, is represented by a(a_(i) |i=1, . . . , m), a fuzzy result set containing n elements indicating results, respectively, is represented by b(b_(j) |j-1, . . . , n), and a fuzzy causality set containing m×n elements indicating the causalities between the causes a_(i) and the results b_(j) is represented by R(r_(ij)). Then, the linguistic truth values indicating degrees of individual elements belonging to the result set b, as well as the linguistic truth values indicating certainties of individual elements contained in the causality set R are converted into numerical truth value intervals within 0 to 1, respectively, to obtain a result matrix and a causality matrix.

Step 2

By performing ε- and ε-compositions on the result and causality matrices b and R, matrices U={u_(ij) } and V={v_(ij) } each having m×n e1ements are determined. Then, the minimum of upper bound values, i.e., the least upper bound value of the n elements for every row i of the matrix U except for those of the ewmpty sets is determined as follows:

    UMIN.sub.i =min u.sub.ij(u)

where u_(ij)(u) represents the upper bound value of an element u_(ij) of the matrix U. When _(j), _(i), u_(ij) =φ, then this means that no solution exists. Thus, the processing now being executed is terminated.

That is, the ε-composition is represented by ##EQU8## the ε-composition is represented by ##EQU9## where [a,b] is an elements of the causality matrix R, c,d] is an element of the result matrix b corresponding to [a,b], a and b in [a,b] are lower and upper bound values, respectively, and c and d in [a,b] are lower and upper bound values, respectively.

Thus, each element of the U matrix represents whether or not a corresponding element of a cause matrix a to be determined, i.e., an element of the solution exists. That is, if [a,b]∩[c,d]=φ and b<c, the element u_(ij) is set to be the empty set to represent no solution. When it is determined that the solution exists, the element is used to determine a numerical interval of the solution element. Thus, the element has the possibility that it is the solution element and even if it is not the solution element, a part of the numerical interval for the element may be contained in the solution element. Therefore, since the result matrix b is determined by the operation a∘R, i.e., the max-min composition, the least upper bound value of elements in an i-th row of the U matrix except for elements of the empty sets can be determined as a upper bound value of an i-th element of the UMIN matrix.

On the other hand, any element of the V matrix represents a numerical interval within which the operation for determining the lower bound value of an element of the cause matrix corresponding to a V matrix element is not influenced.

Step 3

A matrix C={c_(ij) } having m×n elements is determined from the matrices U and V, where ##EQU10## Then, a sum CSUM_(j) of the elements C_(ij) is determined for every column j of the matrix C, as follows: ##EQU11##

Thus, each element of the U matrix and a corresponding element of ther V matrix are compared with each other. If the element u_(ij) is not the empty set and not equal to the eIement v_(ij), a flag of "1" is set in a corresponding element of the C matrix. That the element u_(ij) is equal to the element v_(ij) means that the numerical interval of the element u_(ij) does not influence to the solution element since the numerical interval of the element v_(ij) is determined to prevent the element v_(ij) from influencing to the solution. Therefore, in order to reduce the computation amount, the element u_(ij) can be removed from a lower bound value determining operation for the solution element and the flag of "0" is set in the element c_(ij) corresponding to the element u_(ij).

Step 4

If c_(ij) =1 and u_(ij)(l) >UMIN_(i), "1" in the element C_(ij) is changed to "0" and the element CSUM_(j) is decreased by one. When this operation results in that CSUM_(j) =0, it is decided that no solution exists, and the processing comes to an end. Parenthetically, u_(ij)(l) represents a lower bound value of the element u_(ij).

The e1ement UMINi of the UMIN matrix is a minimum value of the upper bound values of the elements u_(ij) in the i-th rOW. Therefore, any element of the U matrix having a larger lower bound value u_(ij)(l) than a value of the element UMIN_(i) is not absolutely used in the operation for determining the solution element. Therefore, in order to remove the element from consideration of the lower bound value of the solution element, corresponding elements of the C matrix are changed into "0" to obtain the modified C matrix.

Step 5

The i-th element a_(i) of the solution a of the inverse problem of fuzzy correspondence is determined as follows:

(I) When there is no column j, any element of which satisfies c_(ij) =1 and CSUM_(j) =1, with respect to the i-th row of the matrix C, then

    a.sub.i =[0, UMIN.sub.i ]

(II) When there exists at least one such column j, then ##EQU12## where j_(t) represents the column which satisfies the above condition. As the result of the operations described above, the i-th element a_(i) of the solution a of the inverse problem of fuzzy correspondence is determined. By performing the processing described above on all the rows of the matrix C, there is obtained the solution

a=(a_(i), a₂, . . . , a_(m))

In the expert system according to the present invention, the solution is displayed or the target apparatus is controlled in accordance with the solution. In this case, an element, i.e., a cause having the maximum certainty of the solution may be used or elements, i.e., causes each having higher certainty than a predetermined level may be used.

In this step, it is required for existance of the solution that a corresponding element of the CSUM matrix is "1". When the CSUM matrix element is "2", it means that two solution exist and the solution therefore is indeterminate. When the CSUM matrix element is "0", it means that no solution exists. It is sufficient for existance of the solution that the CSUM matrix element is "1" and any element uij of a corresponding column.

By virtue of the inventive arrangement of the procedures described above, a solution of the inverse problem of fuzzy correspondence can be determined as follows:

(I) In case no column j satisfying c_(ij) =1 and CSUM_(i) =1 with respect to the i-th row of the matrix C, there are conceivable two cases which will be described below at (I-1) and (I-2), respectively.

(I-1) Case where no element c_(ij) which is "1" exists at the i-th row of the matrix C at all (FIG. 11A)

In this case, all the elements of the i-th row of the matrix W^(k) determined at the step 3 of the prior art method described hereinbefore corresponds to the elements of the matrix V.

Accordingly, in the case of (I-1), the i-th element of the solution of the inverse problem of fuzzy correspondence can be determined through the processing including the steps 4 to 6 of the prior art method, as follows:

    a.sub.i =[0, UMIN.sub.i ]

(I-2) Case where element c_(ij) satisfying "1" exists at the i-th row of the matrix C while no column satisfying CSUM_(j) =1 exists

In this case, the column is represented by j_(q) (1≦q≦p).

Here, let's consider a matrix C^(k) corresponding to the matrix W^(k) in the prior art. There are conceivable two cases (i) and (ii) mentioned below.

(i) Case where such element exists which is "1" at least any one of the columns j_(q) at the i-th row of the matrix C^(k) (FIG. 11B)

In this case, i-th elements aki of a^(k) i can be determined from the step 4 of the prior art solution. ##EQU13##

Case where elements of "1" are absent at all in the columns j_(q) at the i-th row of the matrix C^(k) (FIG. 11C)

Similarly to the case (i), the i-th elements a^(k) _(i) can be determined as follows:

    a.sup.k.sub.i =[0, UMIN.sub.i ]

The solution of the inverse problem of fuzzy correspondence can be determined by summing a^(k) determined in the step 4 of the prior art method, in accordance with the procedure described in conjunction with the step 6 of the latter.

Thus, from (i) and (ii), the i-th element of the solution of the inverse problem of fuzzy correspondence can be determined as follows: ##EQU14##

In this manner, the i-th element of the solution of the inverse problem of fuzzy correspondence in the case (I) can be determined from through the procedures (I-1) and (I-2), as follows:

    a.sub.i =[0, UMIN.sub.i ]

(II) Case where at least one j-th column which satisfies that c_(ij) =1 and the CSUM_(i) =1 exists at the i-th row of the matrix C.

The column of this type is represented by j_(t) (1≦t≦s).

As described hereinbefore in conjunction with the case (I-2), a matrix C^(k) is considered which corresponds to the matrix W^(k) in the prior art solution method. There are ccnceivable two cases (II-1) and (II-2), which will be mentioned below.

(II-1) Case where the elements which assume "1" at every column j_(t) exist at the i-th row in the matrix C^(k).

In this case, i-th element a^(k) i of a^(k) can be determined similarly to the aforementioned case (i) as follows: ##EQU15##

(II-2) Case where elements assuming "1" at other columns that those j_(t) exist at the i-th row of the matrix C^(k) (FIG. 11E)

As described hereinbefore in conjunction with the case (i), i-th elements a^(k) i of a^(k) can be determined as follows: ##EQU16##

In accordance with the step 6 of the prior art solving method, solution of the inverse problem of fuzzy correspondence can be determined by summing a^(k) determined in the step 4 of the prior art method. Accordingly, the i-th element in the solution of the inverse problem of fuzzy correspondence in the case of (II) can be determined as follows: ##EQU17##

As will be understood from the foregoing, in the method of solving the inverse problem of fuzzy correspondence according to the present invention, the solution can be determined only from a product set and a sum set of the interval values of elements of the matrices U and V because the upper bound values of the interval values resulting from the ε-composition and the ε-composition are equal to each other. In other words, the solution can be obtained through only calculation of the maximum and minimum values.

Now, description will be turned to an exemplary embodiment of the expert system according to the present invention. FIG. 4 shows a general arrangement of a fuzzy expert system. Although the following description will be made in conjunction with an expert system for medical diagnoses, it should be understood that this is only for the purpose of illustration and the concept of the invention can equally be applied to other expert systems designed for other purposes such as fault diagnosis and others.

Referring to FIG. 4, an electronic computer system 10 adapted for performing data input/output, data storage and control operations is composed of a fuzzy reasoning (inference) engine section 11 which serves for performing the backward fuzzy reasoning with the theoretical operation amount of 0(mn) and which constitutes a center of the system, a causality knowledge database 12, a causality knowledge processing section 13, a symptomatic data processing section 14, a membership function processing section 16, a knowledge acquisition processing control section 17, and a diagnosis processing control section 18. The computer system 10 is connected to a man-machine interface section 19 to complete the whole system.

Next, description will be made of an operation of the expert system according to the first embodiment of the invention by reference to a flow chart shown in FIG. 5.

For the operation of the illustrated expert system, a doctor starts the control section 17 and inputs to the section 13 data concerning disease and symptoms in a LTV (linguistic truth values}manner to prepare a causality table required for the diagnosis at the database section 12. An example of such table is shown in FIG. 9.

Membership functions in a LTV manner are previously established, as shown in FIG. 10, by the processing section 16 and stored in the database section 15. Translation of each LTV into a numerical interval is performed by the processing section 14 in accordance with a membership function and a preset α-cut value, e.g., α=0.8 in a manner illustrated in FIG. 10. Needless to say, when the symptomatic data or the causality data are given in the form of numerical intervals within [0, 1], the processing section 14 can be omitted.

Now suppose that a numerical interval is to be assigned to the LTV of "true". In this case, a membership function TRUE corresponding to the LTV of "true" is inputted from the database section 12 to the processing section 14 by the control section 18 to use for the α-cutting with α=0.8, as a result of which a numerical interval [0.8, 1] is assigned to the LTV of "true". Parenthetically, the value for the α-cutting can be adjusted by the control section 18.

Examples of the LTVs and the relevant membership function used in this illustrated embodiment are shown, being understood that these are only by way of example and may assume other different forms.

Completely True (CT)=∫_(x) ε.sub.[0,1] 0 / x+1 / 1

Very very True (VVT)=(true)³

Very True (VT)=(true)²

True (T)=˜_(x) ε.sub.[0,1] x / x ##EQU18## Completely False (CF)=1/0+∫_(x) ε.sub.[0,1] 0 / x Very very False (VVF)=(false)³

Very False (VF)=(false)²

False (F)=∫_(x) ε.sub.[0,1] (1-x)/x ##EQU19## Unknown (UK)=∫_(x) ε.sub.[0,1] 1 / x

Subsequently, at a step 100 shown in FIG. 5, symptom (result) data b obtained by hearing the patient is inputted to the expert system 10 through the interface section 19. Of course, such data b may be inputted directly by the pertinent him- or herself. The inputting of the symptom data b is controlled by the control section 18 and may be executed, for example, in the form of reply to the oral inquiry by the doctor. At a step 200, the control section 18 accesses the database section 12 and 15 to allow the processing section 14 to fretch therein the membership functions and the causality R. The causality R is translated from the LTV to a numerical interval to generate a causality matrix table R which is transferred to the fuzzy reasoning engine section 11 and stored in a memory 20. The symptom data inputted from te control section 18 is translated into a numerical interval matrix table b by using the membership function and stored in the memory 20 by the engine section 11. When the symptom data is numerical data such as bodily temperature, the symptom data is once translated into a corresponding LTV at the section 14 on the basis of the first membership function inputted from the database section 15. Each of the LTVs of the symptom (result) data b(b₁, . . . , b_(n)) and the causality data R(γ_(ij) |i=1-m, j=1-n) read out from the database section 12 and representing correspondence relation to the data b is translated to a numerical interval containing an upper bound value (u) and a lower bound value (l) in accordance with the membership function established previously for each of the LTVs and a value preset for the α-cutting at the processing section 14. For the LTV of "true", the maximum upper bound value of the relevant numerical truth value is "1" (one), while for the LTV of "false", the minimum numerical truth value is "0" (zero). Further, when the symptoms themselves are expressed in terms of the LTVs of the same species (such as exemplified by "very high temperature", "considerably high temperature", "slightly high temperature", etc.), the symptom data can straight forwardly be inputted to the second membership function. On the other hand, when the symptoms are expressed in terms of LTVs of different species (such as exemplified by "very unwell", "considerably unwell", "slightly unwell", etc.), transformation of these LTVs is performed by using the first membership function.

A simple example of the method of reasoning or inferring the causes from symptoms inputted will be shown below on the assumption that the number of the causes is three with that the symptoms being four, assuming further that the causalities R between the causes and the symptoms and the symptoms b are given as below. ##EQU20##

The LTVs are then translated into numerical truth values mentioned below by using the membership functions shown in FIG. 10 with α being 0.8, to generate matrix tables R and b. ##EQU21##

Next, the matrix tables R and b defined by the numerical intervals, depending on the α-cut value, are supplied to the engine section 11, whereby the matrix table a(a₁, . . . , a_(m)) representing the causes is inferred as the inverse problem of fuzzy correspondence at a step 400. FIGS. 7 and 8 are flow charts illustrating the reasoning or inference procedure to this end.

At first, at a step 410, a matrix table U with m×n elements resulting from the ε-composition for the matrix tables R and b and a matrix table V with m×n elements resulting from the composition for the matrix tables R and b are prepared from the two interval value sets of the matrix tables R and b, i.e., [r_(ij)(l), r_(ij)(u) ], [b_(j)(l), b_(j)(u) ] [0, 1]. A lower bound value U_(ij)(l) of each element of a j-th column of the matrix table U is set as the lower bound value b_(j)(l) of the element b_(j) of the matrix table b, while the upper bound value U_(ij)(u) thereof is set to be "1" provided that

    [γ.sub.ij(l), γ.sub.ij(u) ]∩[b.sub.j(l), b.sub.j(u) ]=φ. When

    [γ.sub.ij(l), γ.sub.ij(u) ]∩[b.sub.j(l), b.sub.j(u) ]=φ, and

    γ.sub.ij(l) >b.sub.j(u)

the b_(j)(u) is set is the upper bound value. However, a greater lower bound value of the symptom matrix b than the upper bound value of the element u_(ij) of the causality matrix table R, i.e., γ_(ij)(u) <b_(j)(l) can not apply valid, the relevant element is set to be φ (empty set). On the other hand, the lower bound values V_(ij)(l) of the individual elements at all the columns in the matrix table V are set to "0", while the lower bound values of elements satisfying γ_(ij)(l) >b_(j)(u) are set to "0" with all the others being set to "1". Additionally, the minimum value min γ_(ij)(u) of the upper bound values of the elements for each row in the matrix table U is obtained as an element UMIN_(i) to thereby determine a matrix table UMIN.

As a result of the above processing, when each elements of any column is φ, the processing is ended with no solution at a step 420.

The matrix tables U and V obtained in accordance with the algorithm described above are shown below and they are stored in the memory 20. ##EQU22## At the same time the matrix table UMIN can be determined as follows: UMIN=[1, 0.36, 1]

Next, at a step 430, decision is made as to the presence or absence of the solution a, which is then followed by preparation of a checking reference or criterion for determining an equation for calculation when the solution a is found to be present at the step 430. The checking criterion contains a matrix table C with m×n elements and a matrix table CSUM prepared on the basis of the matrix tables U and V and the matrix table CSUM represents sums of the individual elements of the matrix table C determined for every column. This procedure is shown in FIG. 8 and the two matrix tables are stored in the memory 20. At steps 431 to 433, the values of the individual elements C_(ij) of the matrix table C are set to be "1" unless a corresponding element U_(ij) of the matrix table U is not the empty set and unless the corresponding element U_(ij) is equal to a corresponding element V_(ij) of the matrix table V, while otherwise all set to "0". Further, at a step 434, the matrix table CSUM is obtained by determining a sum of elements for every column j of the matrix table C, where the matrix table CSUM is given by ##EQU23## Subsequently, at a step 435, the elements of "1" are searched from the matrix table C, and those elements of the matrix U corresponding to the abovementioned elements and having the lower bound values greater than those of the elements UMIN_(i), i.e., those elements which satisfy U_(ij)(l) >UMIN_(i) are searched. When they are found, "ls" in the matrix table C are changed to "Os" and the elements CSUMJ_(j) is decreased by "1". Otherwise, no operation is performed. On the basis of the result obtained from the execution of the processing mentioned above, the check criterion is altered or modified.

Thus, the matrix tables C and CSUM are determined ##EQU24## The alteration of the matrix tables results in the matrix table C and CSUM mentioned below. ##EQU25##

When it is found at the step 450 that the elements of the matrix table CSUM are all "0", it is decided that no solution exists, and then execution of the processing comes to an end. Finally, at a step 450, the matrix table a(a_(i)) is determined, details of which are illustrated in FIG. 7. When such column exists for which the elements C_(ij) of the i-th row of the matrix table C are "1" and for which the elements CSUM_(i) of the matrix table CSUM corresponding to those of the j-th column of the matrix table C are "1", then the maximum one of the lower bound values of the corresponding elements U_(ij) of the matrix table U is selected provided that at least one element C_(ij) satisfying the above conditions exists at the row of concern, to thereby determine a_(i) which is given by:

    a.sub.i =[max U.sub.ij(l), UMIN.sub.i ]

Unless the abovementioned column exists, then the element a_(i) is determined as

    a.sub.i =[0, UMIN.sub.i ]

provided that none of the elements C_(ij) satisfies the abovementioned condition. Thus, ##EQU26##

The a of the causes obtained at the reasoning or inference engine section through the procedure described above is translated into LTVs by the processing section 14, whereby linguistic information indicating the degree of certainty of the causes a₁, . . . , a_(m) for the inputted symptom data is generated. The result as obtained is such as mentioned below. ##EQU27##

This result is outputted through the interface section 19 and indicates that the cause (disease) of the inputted symptom is the element "a₃ " with the certainty of RT ##EQU28## When the element a₁ or a₂ indicates PT (possible true) or higher truth level, it is decided as the result of the diagnosis that the patient possibly suffers from a plurality of diseases concurrently. The results of the diagnosis are displayed at the interface section 19 which includes a display unit, an input/output unit such as keyboard and others.

The reasoning or inference method according to the invention and the prior art method were compared in respect to the effectiveness through numerical experiments (with seven causes and seven symptoms). Fuzzy sets defined by the membership functions illustrated in FIG. 12 were established for ten problems selected at random for determining the causalities between causes and symptoms and the degrees of the latter, and then the backward fuzzy reasoning were performed. The time taken for the reasoning or inference is illustrated in FIG. 13. As can be seen in the FIGURE, when the prior art solving method is adopted, the time taken for the inference differs from one to another problems. In contrast, when the inventive method is adopted, the backward reasoning can be executed within the substantially same time span. Besides, according to the inventive inference method, the time taken is on an average about 1/40000 and at minimum about 1/100000 of that taken in the reasoning based on the prior art method. To say in another way, the backward reasoning can be executed at a surprisingly increased speed according to the teaching of the invention. Thus, very high effectiveness of the inventive method has been proved.

According to the inventive method of solution of the inverse problem of fuzzy correspondence, the time taken for determining elements al of a solution a is in proportion to the number n of symptoms. Consequently, the time taken for determining the solution a of the inverse problem of fuzzy correspondence is proportional to mn, where n represents the number of the causes. The theoretical calculation amount is given by O (mn).

As will be apparent from the above, according to the method of reasoning or inference incarnated in the illustrated embodiment of the invention where the matrix W composed of m^(m-1), n combinations is replaced by the matrix table C containing only mn combinations, the reasoning or inference speed can surprisingly be increased. Thus, the concept of the invention can profitably be applied to a real time expert system.

Next, a second embodiment of the invention will be described by reference to FIG. 14 which shows an expert system to which the inventive fuzzy backward reasoning scheme is applied for performing diagnosis of a nuclear power plant requiring a real time response. It should however be noted that the object to be controlled is not restricted to the nuclear power plant. In FIG. 14, like reference symbols as those shown in FIG. 4 are used for designating same or like components.

Description will now be made on the assumption that the nuclear power plant is of a pressurized water reactor type well known in the art. The structure of the control system for the plant is substantially same as that shown in FIG. 4. Accordingly repeated description will be unnecessary. A large number of sensors are installed at various locations in the nuclear power plant. In FIG. 14, reference symbol P denotes a pressure sensor, Q denotes a flow sensor, R denotes a radiation flux sensor, and S denotes an acoustic sensor for detecting vibrations of pipes or the like. The signals output from these sensors are supplied to a sampling circuit 26 which samples these signals at a predetermined time interval. The output data from the sampling circuit are then transferred to a first membership function 14-1 where the numerical data originating in the sensors P, Q and R are translated into the LTV data to be subsequently transferred to a second membership function 14-2. In case the signal from, for example, the sensor S is inputted in the form compatible with the LTV, the function 14-1 then transfers the input signal S to the function 14-2 without translating it into the LTV form. The function 14-2 is also supplied with the causality data R and α from the section 12. Thus, the function 14-2 generates matrix tables b and R on the basis of the LTV, the causality R and α, the matrix tables b and R being then outputted to the reasoning engine 11. The machine 11 derives a matrix table a from the matrix table b and R through inference or reasoning procedure illustrated in the flow chart of FIG. 5. The matrix table a is then outputted to a maximum value circuit 22 which detects an element a_(max) having a highest certainty among those of the matrix table a, the element a_(max) being then outputted to a controller 24, at which a table is referred to for determining and controlling the object of concern.

Assuming, for example, that a fault is believed to occur in a valve V2 of a secondary cooling system with the highest certainty, control is so made as to open a bypass valve V3 while triggering an alarm 28 simultaneously. Subsequently, measures to cope with the prevailing situation are taken. When it is believed with the highest certainty that the fault takes place in a primary cooling system, control rods are then fallen in the reactor core or water is injected into the reactor from a tank. When it is found with certainty that pressure or radioactivity is slightly higher than the normal level although the safety level is not exceeded, a corresponding alarm may be signaled.

The nuclear power plant is of a very complicated system and an extremely high safety must be ensured. The measures for coping with any faults must be taken as rapidly as possible, which means that the control must be performed on a real time basis. In this conjunction, it will readily be understood that upon detection of abnormality, suitable measures can timely be taken before actual occurrence of fault such as breakage of a pipe and other on the basis of the degree of certainty obtained as a result of the real time backward reasoning.

It should be added that although only the maximum value of the certainty is made use of in the case of the abovementioned embodiment, all the elements of the matrix table a may be utilized for controlling the system of concern. In this case, the circuit 22 can be omitted. 

What is claimed is:
 1. A fuzzy backward reasoning system comprising:memory means for storing a causality table having m×n elements, each of which indicates a membership grade of a corresponding cause to a corresponding effect and is represented by interval data within a predetermined numerical data range; first generating means for reading out the causality table from said memory means and generating basic and auxiliary matrix tables each having m×n elements from the causality table and an input effect matrix table having n elements which correspond to n effects and are respectively represented by interval data within the predetermined numerical data range; second generating means for generating a minimum matrix table having m elements, each of which represent a least upper bound value of a corresponding row of the basic matrix table; third generating means for generating from the basic and auxiliary matrix tables a checking matrix table having m×n elements, each of which has a flag set when representing a possibility of influence to a certainty of a corresponding cause; modifying means for modifying the checking matrix table to selectively reset each flag in accordance with corresponding elements of the basic and minimum matrix tables; and fourth generating means for generating from elements having the flags set of the checking matrix table and the basic and minimum matrix tables a cause matrix table having m elements, each of which is represented by interval data within the predetermined numerical data range, the cause matrix table element interval data representing a certainty of a corresponding cause.
 2. A fuzzy backward reasoning system according to claim 1, wherein said system requires a theoretical operation time proportional to a value of m×n.
 3. A method of performing fuzzy backward reasoning, comprising the steps of:providing a causality table having m×n elements, each of which indicates a membership grade of a corresponding cause to a corresponding effect and is represented by interval data within a predetermined numerical data range; generating basic and auxiliary matrix tables each having m×n elements from the causality table and an input effect matrix table having n elements which correspond to n effects and are respectively represented by interval data within the predetermined numerical data range; generating a minimum matrix table having m elements, each of which represent a least upper bound value of a corresponding row of the basic matrix table; generating from the basic and auxiliary matrix tables a checking matrix table having m×n elements, each of which has a flag set when representing a possibility of influence to a certainty of a corresponding cause; modifying the checking matrix table to selectively reset each flag in accordance with corresponding elements of the basic and minimum matrix tables; and generating from elements having the flags set of the checking matrix table and the basic and minimum matrix tables a cause matrix table having m elements, each of which is represented by interval data within the predetermined numerical data range,the cause matrix table element interval data representing a certainty of a corresponding cause.
 4. A method according to claim 3, wherein the fuzzy backward reasoning requires a theoretical operation time proportional to a value of m×n.
 5. A method according to claim 3, wherein said basic and auxiliary matrix tables generating step includes the step of performing ε- and ε-compositions for the causality and effect matrix tables to the basic and auxiliary matrix tables, andwherein the ε-composition is represented by ##EQU29## the ε-composition is represented by ##EQU30## where [a,b] is an element of the causality matrix table, is an element of the effect matrix table corresponding to [a,b], a and b in [a,b] are lower and upper bound values, respectively, and c and d in [a,b] are lower and upper bound values, respectively.
 6. A method according to claim 5, wherein said checking matrix table generating step includes the step of generating the checking matrix table from the basic and auxiliary matrix tables by using the following condition, ##EQU31## where {C_(ij) }, u_(ij) and v_(ij) represent elements of i-th row and i-th column of the checking, basic and auxiliary matrix tables, respectively.
 7. A method according to claim 6, wherein the flag is one and said modifying step includes the step of resetting the flags to zero when a lower bound value of the basic matrix table element corresponding to each of the flags is larger than a corresponding minimum matrix table element.
 8. A method according to claim 6, wherein said cause matrix table generating step includes the steps of:generating a sum matrix table having n elements, each of which represents the number of elements having flags set in a corresponding column of the checking matrix table; and generating the cause matrix table, each element of which has, as a lower bound value, if with respect to i-th row there is at least one checking matrix table element satisfying that a flag is set and that an element of the sum matrix table corresponding to the at least one checking matrix table element has a value of one, a most lower bound value of at least one basic matrix table element corresponding to the at least one checking matrix table element and zero, otherwise and as a upper bound value, a corresponding element of the minimum matrix table.
 9. A method of controlling a target apparatus by use of fuzzy backward reasoning, comprising the steps of:detecting n state (n is an integer of n≧2) of the target apparatus; providing a causality table having m×n elements (m is an integer of m≧2), each of which indicates a membership grade of a corresponding cause to a corresponding effect and is represented by interval data within a predetermined numerical data range; generating basic and auxiliary matrix tables each having m×n elements from the causality table and an input effect matrix table having n elements which correspond to n ffects and are respectively represented by interval data within the predetermined numerical data range; generating a minimum matrix table having m elements, each of which represent a least upper bound value of a corresponding row of the basic matrix table; generating from the basic and auxiliary matrix tables a checking matrix table having m×n elements, each of which has a flag set when representing a possibility of influence to a certainty of a corresponding cause; modifying the checking matrix table to selectively reset each flag in accordance with corresponding elements of the basic and minimum matrix tables; generating from elements having the flags set of the checking matrix table and the basic and minimum matrix tables a cause matrix table having m elements, each of which is represented by interval data within the predetermined numerical data range, the cause matrix table element interval data representing a certainty of a corresponding cause; and controlling the target apparatus based on the certainties of the elements of the cause matrix table.
 10. A method according to claim 9, wherein the fuzzy backward reasoning requires a theoretical operation time proportional to a alue of m×n.
 11. A method according to claim 9, wherein said basic and auxiliary matrix tables generating step includes the step of performing ε- and ε-compositions for the causality and effect matrix tables to the basic and auxiliary matrix tables, andwherein the ε-composition is represented by ##EQU32## the ε-composition is represented by ##EQU33## where is an elements of the causality matrix table, is an element of the effect matrix table corresponding to, a and b in are lower and upper bound values, respectively, and c and d in are lower and upper bound values, respectively.
 12. A method according to claim 11, wherein said checking matrix table generating step includes the step of generating the checking matrix table from the basic and auxiliary matrix tables by using the following condition, ##EQU34## where {c_(ij) }, u_(ij) and v_(ij) represent elements of i-th row and i-th column of the checking, basic and auxiliary matrix tables, respectively.
 13. A method according to claim 12, wherein the flag is one and said modifying step includes the step of resetting the flags to zero when a lower bound value of the basic matrix table element corresponding to each of the flags is larger than a corresponding minimum matrix table element.
 14. A method according to claim 12, wherein said cause matrix table generating step includes the steps of:generating a sum matrix table having n elements, each of which represents the number of elements having flags set in a corresponding column of the checking matrix table; and generating the cause matrix table, each element of which has, as a lower bound value, with respect to i-th row there is at least one checking matrix table element satisfying that a flag is set and that an element of the sum matrix table corresponding to the at least one checking matrix table element has a value of one, a most lower bound value of at least one basic matrix table element corresponding to the at least one checking matrix table element and zero, otherwise and as-a upper bound value, a corresponding element of the minimum matrix table. 